package com.box.entity;

import java.util.ArrayList;
import java.util.List;

public class DbLinkExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DbLinkExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andLnameIsNull() {
            addCriterion("lname is null");
            return (Criteria) this;
        }

        public Criteria andLnameIsNotNull() {
            addCriterion("lname is not null");
            return (Criteria) this;
        }

        public Criteria andLnameEqualTo(String value) {
            addCriterion("lname =", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameNotEqualTo(String value) {
            addCriterion("lname <>", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameGreaterThan(String value) {
            addCriterion("lname >", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameGreaterThanOrEqualTo(String value) {
            addCriterion("lname >=", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameLessThan(String value) {
            addCriterion("lname <", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameLessThanOrEqualTo(String value) {
            addCriterion("lname <=", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameLike(String value) {
            addCriterion("lname like", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameNotLike(String value) {
            addCriterion("lname not like", value, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameIn(List<String> values) {
            addCriterion("lname in", values, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameNotIn(List<String> values) {
            addCriterion("lname not in", values, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameBetween(String value1, String value2) {
            addCriterion("lname between", value1, value2, "lname");
            return (Criteria) this;
        }

        public Criteria andLnameNotBetween(String value1, String value2) {
            addCriterion("lname not between", value1, value2, "lname");
            return (Criteria) this;
        }

        public Criteria andLpathIsNull() {
            addCriterion("lpath is null");
            return (Criteria) this;
        }

        public Criteria andLpathIsNotNull() {
            addCriterion("lpath is not null");
            return (Criteria) this;
        }

        public Criteria andLpathEqualTo(String value) {
            addCriterion("lpath =", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathNotEqualTo(String value) {
            addCriterion("lpath <>", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathGreaterThan(String value) {
            addCriterion("lpath >", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathGreaterThanOrEqualTo(String value) {
            addCriterion("lpath >=", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathLessThan(String value) {
            addCriterion("lpath <", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathLessThanOrEqualTo(String value) {
            addCriterion("lpath <=", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathLike(String value) {
            addCriterion("lpath like", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathNotLike(String value) {
            addCriterion("lpath not like", value, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathIn(List<String> values) {
            addCriterion("lpath in", values, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathNotIn(List<String> values) {
            addCriterion("lpath not in", values, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathBetween(String value1, String value2) {
            addCriterion("lpath between", value1, value2, "lpath");
            return (Criteria) this;
        }

        public Criteria andLpathNotBetween(String value1, String value2) {
            addCriterion("lpath not between", value1, value2, "lpath");
            return (Criteria) this;
        }

        public Criteria andLdesIsNull() {
            addCriterion("ldes is null");
            return (Criteria) this;
        }

        public Criteria andLdesIsNotNull() {
            addCriterion("ldes is not null");
            return (Criteria) this;
        }

        public Criteria andLdesEqualTo(String value) {
            addCriterion("ldes =", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesNotEqualTo(String value) {
            addCriterion("ldes <>", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesGreaterThan(String value) {
            addCriterion("ldes >", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesGreaterThanOrEqualTo(String value) {
            addCriterion("ldes >=", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesLessThan(String value) {
            addCriterion("ldes <", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesLessThanOrEqualTo(String value) {
            addCriterion("ldes <=", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesLike(String value) {
            addCriterion("ldes like", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesNotLike(String value) {
            addCriterion("ldes not like", value, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesIn(List<String> values) {
            addCriterion("ldes in", values, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesNotIn(List<String> values) {
            addCriterion("ldes not in", values, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesBetween(String value1, String value2) {
            addCriterion("ldes between", value1, value2, "ldes");
            return (Criteria) this;
        }

        public Criteria andLdesNotBetween(String value1, String value2) {
            addCriterion("ldes not between", value1, value2, "ldes");
            return (Criteria) this;
        }

        public Criteria andUppidIsNull() {
            addCriterion("uppid is null");
            return (Criteria) this;
        }

        public Criteria andUppidIsNotNull() {
            addCriterion("uppid is not null");
            return (Criteria) this;
        }

        public Criteria andUppidEqualTo(Integer value) {
            addCriterion("uppid =", value, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidNotEqualTo(Integer value) {
            addCriterion("uppid <>", value, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidGreaterThan(Integer value) {
            addCriterion("uppid >", value, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidGreaterThanOrEqualTo(Integer value) {
            addCriterion("uppid >=", value, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidLessThan(Integer value) {
            addCriterion("uppid <", value, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidLessThanOrEqualTo(Integer value) {
            addCriterion("uppid <=", value, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidIn(List<Integer> values) {
            addCriterion("uppid in", values, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidNotIn(List<Integer> values) {
            addCriterion("uppid not in", values, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidBetween(Integer value1, Integer value2) {
            addCriterion("uppid between", value1, value2, "uppid");
            return (Criteria) this;
        }

        public Criteria andUppidNotBetween(Integer value1, Integer value2) {
            addCriterion("uppid not between", value1, value2, "uppid");
            return (Criteria) this;
        }

        public Criteria andAdminurlIsNull() {
            addCriterion("adminUrl is null");
            return (Criteria) this;
        }

        public Criteria andAdminurlIsNotNull() {
            addCriterion("adminUrl is not null");
            return (Criteria) this;
        }

        public Criteria andAdminurlEqualTo(Integer value) {
            addCriterion("adminUrl =", value, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlNotEqualTo(Integer value) {
            addCriterion("adminUrl <>", value, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlGreaterThan(Integer value) {
            addCriterion("adminUrl >", value, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlGreaterThanOrEqualTo(Integer value) {
            addCriterion("adminUrl >=", value, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlLessThan(Integer value) {
            addCriterion("adminUrl <", value, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlLessThanOrEqualTo(Integer value) {
            addCriterion("adminUrl <=", value, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlIn(List<Integer> values) {
            addCriterion("adminUrl in", values, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlNotIn(List<Integer> values) {
            addCriterion("adminUrl not in", values, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlBetween(Integer value1, Integer value2) {
            addCriterion("adminUrl between", value1, value2, "adminurl");
            return (Criteria) this;
        }

        public Criteria andAdminurlNotBetween(Integer value1, Integer value2) {
            addCriterion("adminUrl not between", value1, value2, "adminurl");
            return (Criteria) this;
        }

        public Criteria andIsviewIsNull() {
            addCriterion("isview is null");
            return (Criteria) this;
        }

        public Criteria andIsviewIsNotNull() {
            addCriterion("isview is not null");
            return (Criteria) this;
        }

        public Criteria andIsviewEqualTo(Integer value) {
            addCriterion("isview =", value, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewNotEqualTo(Integer value) {
            addCriterion("isview <>", value, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewGreaterThan(Integer value) {
            addCriterion("isview >", value, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewGreaterThanOrEqualTo(Integer value) {
            addCriterion("isview >=", value, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewLessThan(Integer value) {
            addCriterion("isview <", value, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewLessThanOrEqualTo(Integer value) {
            addCriterion("isview <=", value, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewIn(List<Integer> values) {
            addCriterion("isview in", values, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewNotIn(List<Integer> values) {
            addCriterion("isview not in", values, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewBetween(Integer value1, Integer value2) {
            addCriterion("isview between", value1, value2, "isview");
            return (Criteria) this;
        }

        public Criteria andIsviewNotBetween(Integer value1, Integer value2) {
            addCriterion("isview not between", value1, value2, "isview");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}